The explosion of Internet and other network technologies has fueled a technology revolution for the latter portions of the twentieth century and beyond. With these new and exciting technologies, companies—new and old, have been thriving and to some extent forced by circumstances to accept existing systems and network architectures which have evolved over time and continue to provide existing services. For example, a common theme among Internet systems is to provide very powerful servers tightly coupled to large databases wherein the server may process thousands of requests from remote users surfing the world-wide web via server provided applications. While this model may continue to serve Internet traffic, performance and logistical problems remain unsolved by the present system.
One such problem associated with the server provided applications model relates to leveraging of local client resources. For example, network servers tend to act as a bottleneck since they must perform a plurality of redundant computations in order to respond to a plurality of variable remote service requests. As Personal Computer (PC) performance has increased because of more powerful microprocessors and clock speeds, overall network performance has lagged these increases because bottlenecks created at the server end many times cause PC's to wait for remote processing to complete. Thus, increases in current PC technology have not been fully leveraged/utilized by the current model.
Another problem related to the server provided applications model is associated with network performance in general. Web page accessing and manipulations, for example, generally require large amounts of data to continually be exchanged between remote clients and servers. As the number of users increase, data transactions on the Internet increase thereby causing overall communications performance to decrease. Therefore, a more powerful and flexible systems architecture is needed wherein clients may continue to enjoy network interactivity, yet, reduce network requests and latency associated therewith.
Still yet another problem associated with existing architectures is related to offline performance of network-based systems. Many Web pages, for example, provide an interactive and vibrant experience for users to observe and utilize data provided from a given site. As long as users remain online with the present site, the interactive experience continues. Unfortunately, even though data files may be downloaded from these sites, the interactive and often times useful presentation/manipulation of the data is lost when disconnecting from the server applications operating the web page. As users go offline to observe the data at a later time, it would be highly relevant and useful to be able to view and manipulate the data as if online with the associated server. Consequently, there is an unsolved need for a system and/or methodology to provide offline service capabilities similar to those which may currently be obtained online.